// 注册插件 ===>插件的使用场景: 1.定义全局组件 2.定义全局指令 3.全局过滤器 4.挂载全局方法(如$sleep)
// 1. moment 插件  dayjs 插件  都是处理时间格式
import dayjs from 'dayjs'
// 导入全局组件
import syntacticSugar from '@/views/home/components/syntacticSugar.vue'
// 使用dayjs插件（按需）
import relativeTime from 'dayjs/plugin/relativeTime'
// 国际化
import 'dayjs/locale/zh-cn'
dayjs.locale('zh-cn')
// 添加插件
dayjs.extend(relativeTime)
// 获取相对时间方法
const relaTime = (time) => {
  return dayjs().from(time)
}
// 2. 定义一个睡眠方法 (睡线程)===>延迟后面的代码执行
const $sleep = (time) => {
  // new一个Promise对象
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      resolve()
    }, time || 2000)
  })
}
export default {
  // 注册到Vue中 固定install方法===>就可以传入Vue构造函数(当做参数)
  install (Vue) {
    // console.log('Vue的构造函数', Vue)
    // 把睡眠函数挂载到Vue构造函数中
    Vue.prototype.$sleep = $sleep
    // 注册全局过滤器
    Vue.filter('relaTime', relaTime)
    Vue.component('SyntacticSugar', syntacticSugar)
  }
}
